package com.xlf.service.blog.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.List;

import com.xlf.common.core.pojo.vo.UserVO;
import com.xlf.pojo.mode.BaseEntity;
import lombok.Data;

/**
 *
 * @TableName t_article
 */
@TableName(value ="t_article")
@Data
public class Article extends BaseEntity{
    /**
     * 文章id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 作者id
     */
    private Long userId;

    /**
     * 分类id
     */
    private Long typeId;

    /**
     * 题解id,非题解时为0或null
     */
    private Long problemId;

    /**
     * 缩略图
     */
    private String articleCover;

    /**
     * 文章标题
     */
    private String articleTitle;

    /**
     * 阅读量
     */
    private Integer articleReadNum;

    /**
     * 文章内容
     */
    private String articleContent;

    /**
     * 类型 (1原创 2转载 3翻译)
     */
    private Integer articleType;

    /**
     * 是否置顶 (0否 1是）
     */
    private Integer isTop;
    /**
     * 开启评论(0否 1是）
     */
    private Integer isComment;

    /**
     * 权限 (1公开 2私密 3草稿)
     */
    private Integer auth;

    /**
     * 是否推荐 (0否 1是)
     */
    private Integer isRecommend;

    /**
     * 状态
     */
    private Integer status;


    /**
     * 分类
     */
    @TableField(exist = false)
    private Type type;

    /**
     * 评论列表
     */
    @TableField(exist = false)
    private List<Comment> commentList;

    /**
     * 作者
     */
    @TableField(exist = false)
    private UserVO author;


    /**
     * 是否点赞
     */
    @TableField(exist = false)
    private Integer thumbs;

    /**
     * 是否收藏
     */
    @TableField(exist = false)
    private Integer collection;

    /**
     * 是否关注
     */
    @TableField(exist = false)
    private Integer follow;

    /**
     * 点赞量
     */
    @TableField(exist = false)
    private Integer thumbsNum;

    /**
     * 收藏量
     */
    @TableField(exist = false)
    private Integer collectionNum;


    /**
     * 评论量
     */
    @TableField(exist = false)
    private Integer articleCommentNum;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
